/**
 * wx Page操作工具类
 */
export default class PageUtil
{

    /**
     * 获取历史页面
     * 
     * @param {number} toIndex 页面栈中的索引，当前页面在数组末尾；-1代表当前page，-2表示上一个页面
     * @returns {Page|undefined} 返回wx Page对象，如果不存在则返回undefined
     */
    static getHistory(toIndex = -1){
        let pageStack = getCurrentPages();
        toIndex = toIndex >= 0 ? toIndex : pageStack.length + toIndex
        return pageStack[toIndex];
    }


    /**
     * 获取页面的Uri（含参数）
     * 
     * @param {Page} page 
     * @returns {string}
     */
    static getUri(page){
        
        let accessUri=page.route;
        if(page.options){
            let pageOptions = Object.keys(page.options).map(k=>{
                if(page.options[k] === undefined){
                    return k+'=';
                }
                return k+'='+page.options[k]
            }).join('&');
            accessUri += ('?'+pageOptions); 
        }
        return accessUri;
    }



}